Repository navigation
Admin publication page shows the review and the identifier screen - #460
Merged
Merged
Conversation
This was referenced Oct 15, 2026
Closed
neuromechanist
marked this pull request as ready for review
October 15, 2026 17:14
The list payload now carries dataset_name and withdrawn_at (nemar-cli #1777 and #1778); every other body is unchanged apart from ids and timestamps. Provenance names a commit on nemar-cli dev.
This was referenced Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of nemarOrg/nemar-cli#1731 (Phase 4 of epic nemarOrg/nemar-cli#1726). Tracking issue: #459.
Summary
The administrator publication page now shows the API's review and the identifier screen and decides on them, and every refusal the API gives is shown in plain words. The page prints the API's own
statementand the neutralcurefor each reason; it never prints the terminal's sentences (line,command,description.lines,description.next, or a refusalmessagethat names a terminal step), because the terminal'scurecarries commands. The API half is nemarOrg/nemar-cli#1779 (it adds the detail fields and the shared words); the decision is this repository's ADR 0027 (the nemar-cli side is in its ADR 0102).statementand neutralcure), the identifier screen, and the model's summary and notes only under a label saying the model wrote it, as plain text.PUBLISHdialog stays the last step. The page never computes a verdict.request_id); a stale page is refused by the API and the page re-reads, and a panel whose request is not its row's is drawn as stale with no controls.request_mismatch,approval_in_flight,deny_after_publishing, the review and screen gates, the origin refusal and the rest); a failed or unanswered approve says it may have started and offers a refresh.src/lib/publication-review-copy.ts), with a drift test against the nemar-cli file (strict path wired inci.yml, samedevpairing as the three others, andshared/publication-limits.tsin the sparse checkout for the limits test) and a rule that every key has a consumer; fixtures captured from the real API routes over a real database (each carries how it was captured).What this needs
The API must deploy before the website. A page promoted ahead of the API gets a detail with no
statement, so it withholds the panel, says the page and the API are out of step and offers no Approve; it never falls back to the old empty approve or to the terminal'sline. The API half is on nemar-clidev(epic nemarOrg/nemar-cli#1782), so the strict drift test runs against it in CI, the fixtures were re-captured at thedevhead (the only content change is that the list payload now carriesdataset_nameandwithdrawn_at), andstagingis merged in (it carries the account copy from #469). The production promotion waits for the API half to reach production first.Review
All implementation was done by Sonnet agents, each failing test first, with mutation checks. One Opus review of both halves found no Critical defect and one Important (a documentation claim), plus seven Minor findings, all fixed. Fix rounds since then address a Sonnet panel's findings on this pull request.
Test plan
bun run lint,bun run typecheck,bun run test(strict drift test against the nemar-cli epic checkout),bun run builddevPUBLISHlast)